import { request, mockRequest } from "../request";

/**
 * 获取验证码
 * @param phone - 手机号
 * @returns - 返回boolean值表示是否发送成功
 */
export function fetchSmsCode(phone: string) {
	return mockRequest.post<boolean>("/getSmsCode", { phone });
}

/**
 * 登录
 * @param userName - 用户名
 * @param password - 密码
 */
export function fetchLogin(userName: string, password: string) {
	return request.post<ApiAuth.Token>("/useraccount/login", {
		accountName: userName,
		password,
	});
}

/** 获取用户信息 */
export function fetchUserInfo() {
	return request.get<ApiAuth.UserInfo>("/useraccount/getUserInfo");
}

/**
 * 获取用户路由数据
 * @param userId - 用户id
 * @description 后端根据用户id查询到对应的角色类型，并将路由筛选出对应角色的路由数据返回前端
 */
export function fetchUserRoutes(userId: string) {
	return request.get<ApiRoute.Route>("/menu/getUserRoutes");
}

/**
 * 获取用户路由数据
 * @description 后端返回菜单的名称
 */
export function fetchUserMenus() {
	return request.get<ApiRoute.Menu>("/menu/user-menus");
}

/**
 * 刷新token
 * @param refreshToken
 */
export function fetchUpdateToken(refreshToken: string) {
	return mockRequest.post<ApiAuth.Token>("/updateToken", { refreshToken });
}
